1. Field of the Invention
The invention relates to cryptography, particularly a technique including both apparatus and an accompanying method, for imparting to passive and active software objects, such as correspondingly content and executable code, a substantial degree of protection against break-once-run-everywhere (BORE) attacks and for restricting access and use of resulting protected objects that have been, e.g., downloaded, via a networked connection, to a client computer. Such a technique is particularly, though not exclusively, suited for use in a digital rights management (DRM) system executing in the client computer.
2. Description of the Prior Art
Content, such as video and audio recordings, and other multi-media presentations, is increasingly being provided to consumers in digital form. Digital recordings provide enhanced clarity, attributable in part to a substantially diminished noise level, over that commonly provided by conventional analog media. Facilitating this trend is an increasing availability, from a wide range of manufacturers, of relatively economical consumer-oriented digital recording and playback equipment, such as, for example, those employing compact disc (CD) and digital audio tape (DAT) formats.
Unfortunately, the very characteristics of digital content that make it quite attractive to consumers also significantly foster its illicit duplication, i.e., piracy. In that regard, by virtue of digitized data which embodies content on a legitimate copy, whether that data constitutes, e.g., a sound recording, a video recording or a photograph, each subsequent copy of that data will, for all practical purposes, exactly match the original content; thus, providing the same fidelity as the legitimate copy. Hence, a pirate, having access to a legitimate copy, could, rather readily, massively produce illicit copies that, at least from a standpoint of its content, might not be distinguishable from its legitimate copy. Obviously, the ease with which such high quality illicit copies could be generated has caused substantial alarm among content providers, particularly given a substantial loss of revenues that could result from lost sales attributable to widespread piracy.
One of the oldest and usually least effective techniques used to deter illicit copying is simply to append a copyright and other legal proprietary rights notices to an object as distributed on mass (magnetic or optical) media. The intention in doing so is to place a third party on notice that a copy of that object, as embodied in the media, is legally protected and that its publisher may take legal action to enforce its rights in the object against that party to prevent illicit copying. While these notices are often necessary in many jurisdictions to secure full legal remedies against illicit copying, in practice, these notices have provided little, if any, real protection against third party copying. In that regard, in those countries with relatively lax enforcement of intellectual property rights, sales lost to illicit copying of an object, such as a popular movie or audio recording, often significantly dwarf legitimate sales of the same object.
As such, these providers, typified by, e.g., movie studios and music publishers, have turned to technical rather than just legal approaches to deter illicit copying.
In that regard, these providers have recently persuaded hardware manufacturers, of consumer electronic audio and video recording devices, to incorporate appropriate copy-protect circuitry into their products, such as DAT recorders, to actively limit an amount through which content stored on digital media, such as a DAT, containing a legitimately purchased copy, can itself be copied further. In that regard, data encoded on the legitimate copy is read by the copy-protect circuitry in a DAT recorder and used to essentially inhibit that recorder from making more than one copy of that content onto another DAT.
Widespread use of the Internet is a rather recent development that is also significantly fueling the expanding use of digital content. Given the availability of relatively inexpensive but rather sophisticated personal computers with attendant web browsers and multi-media players and the widespread global proliferation of inexpensive consumer Internet connections, the Internet is emerging as an excellent vehicle through which content publishers can cost-effectively distribute content to large numbers of customersxe2x80x94regardless of where these customers are located. This content can range from audio or video clips, to recorded songs to entire movies. Software, in the form of application programs, is increasingly being distributed through the Internet to the consuming public. However, the number of consumers that purchase software in this manner is currently rather small, though rapidly growing, compared to those that obtain physically packaged software through a more conventional distribution channel.
PCs, being general purpose in nature, do not contain copy-protect circuitry of the type used with, e.g., DAT recorders. Hence, conventional hardware-centric anti-piracy measures, such as those used with DAT and other consumer recording devices, are simply ineffective to preclude illicit copying of digital content distributed over the Internet. Thus, content providers are once again faced with a possible attendant loss of substantial revenues, though through a different distributional vehicle, due to illicit copying.
Hence, extensive effort is currently underway in the art and aimed at developing a so-called xe2x80x9cdigital rights managementxe2x80x9d (DRM) initiative to counter expected piracy of Internet accessible content.
Underlying this initiative is a basic concept, akin to that in copyright, of bifurcating ownership of those bits themselves, that constitute a content object, from rights to use these bits. This use can encompass, e.g., rendering that object, in the case of passive content, or executing that object in the case of an active object containing executable code. As presently envisioned in the art, the DRM initiative would permit any individual to freely and at no cost access and download, through his(her) client PC, a file containing a desired object from a web site associated with a corresponding publisher. Once downloaded, ownership of the content bits themselves would pass to the individual, i.e., an xe2x80x9cownerxe2x80x9d. However, the rights to use the object contained in the file would remain with the publisher of the object and be licensed to the owner of the bits based on a license fee paid to the publisher by that owner. By remitting a certain fee, typically through an Internet transaction, the owner would be provided with a software license which delineates the rights to which that owner can then use these bits. For example, in the case of a downloaded song, for a relatively modest fee, the license may permit the owner to play the object, here content for the song, just once. For a larger fee, the license may permit the owner to play that song a certain number of times or freely play the song during a certain time period, such as a week or month. For an even larger fee, the license may be configured to permit the owner to play the song on an unlimited basis, i.e., as much as (s)he wants and whenever (s)he wants.
In particular, the downloaded file would contain a software xe2x80x9clockxe2x80x9d of some sort which inhibits the client PC from suitably handling an object contained in that file, such as, in the case of a video clip, locally rendering the object on a computer display.
Once the owner downloads a desired file, then, through a separate transaction conducted with a publisher of the object contained in that file, such as a music publisher, (s)he would receive and locally store a software certificate from the publisher. The certificate would contain the software implemented license as well as a suitable secret value (xe2x80x9csecretxe2x80x9d). As noted above, the license would specify, in view of the license fee paid by the owner, a degree of access (license grant) to which that owner is given to the object. When the owner desires to subsequently access and use the content, appropriate software, e.g., a DRM process, executing in the client PC would first obtain the certificate from local storage; ascertain, from conditions of the license grant set forth in the certificate, whether the desired access and use is allowed; and then, if so, use the secret to unlock the object, and finally permit the object to be subsequently handled, such as played in the case of a passive audio clip, as desired by the user and in accordance with the license grant. Any object that did not contain an appropriate software xe2x80x9clockxe2x80x9d would be unaffected by a DRM process; that process would essentially ignore that object and hence not restrict its subsequent use.
While widespread adoption of the DRM initiative, as least as broadly envisioned, is expected to appreciably restrain illicit copying of Internet distributed software objects, underlying this initiative is the development and use of a practical and effective locking mechanism, particularly one employing cryptographic encryption, for use with such objects. Thusfar, the art fails to teach such a mechanism.
Traditionally, cryptographic measures have involved encrypting a plaintext objectxe2x80x94whether it be a message or a document, in some fashion, into a ciphertext object through a cryptographic algorithm, i.e., a so-called xe2x80x9ccipherxe2x80x9d, that relies on a secret value (henceforth just a xe2x80x9csecretxe2x80x9d). Depending on the specific cipher used, this secret can be, e.g., a simple key known only to a sender and a recipient, or can be a private key of a public/private key pair. Upon receipt of the ciphertext object, each such individual would then convert the ciphertext object, through a process, inverse to that of the cipher, using his(her) secret, to yield the plaintext object.
While these traditional cryptographic measures, depending on the particular cipher used, can be extremely secure against third-party cipher attacks, they are ill-suited for use for distributing objects, such as content files, to massive numbers of recipients, particularly to individual PCs.
In that regard, sophisticated cryptographic ciphers, such as those using, e.g., so-called RSA (Rivest-Shamir-Adelman) or Diffie-Hellman type ciphers, exist for decrypting ciphertext. Though these ciphers are extremely secure, because of their nature, they are not suited for use in encrypting large objects, i.e., performing bulk encryption. Furthermore and importantly, if an object were to be protected through use of appending a digital signature to that object, even a signature computed using, e.g., RSA, a pirate could easily remove that signature from the file containing the object and thereby gain unfettered access to an underlying unprotected object.
Therefore, faced with these deficiencies, the art, in the context of digital rights management, appears to be considering the use of watermarking. In essence, a watermark is an identifier that, in the context of a software object, would be tightly integrated into that object but would not be discernible to a third party. Furthermore, that party will likely experience considerably more difficulty in removing a correctly implemented watermark from a software object than removing a digital signature.
When the object is accessed, a cryptographic process, using a secret provided in a DRM certificate, would reveal the presence of the watermark embedded in the object and then detect its value. The secret would define an approximate location (e.g. in the time and frequency domain) at which the watermark can be found. If the correct watermark were then detected, i.e., an identical match then existed between the watermark embedded in the object and its expected value provided in the license, the DRM process would then xe2x80x9cunlockxe2x80x9d that object.
Disadvantageously, this approach relies on embedding a single watermark into an object. If a pirate were to discover the watermarkxe2x80x94even in view of its difficulty of detection, thus breaking the xe2x80x9clockxe2x80x9d, the pirate could then excise the watermark from the object, and illicitly copy the object and massively distribute resulting illicit copies free and clear of any restriction on their use otherwise imposed through digital rights management. Any recipient of such an illicit copy of the object could, in turn, make copies of that object and further distribute those copies free and clear of its prior software xe2x80x9clockxe2x80x9d, and so forth with subsequent recipients. Thus, the watermarked object could be susceptible to what we refer to as a xe2x80x9cbreak-once-run-everywherexe2x80x9d (BORE) attack. Through such a successful attack, once the pirate uncovers the single cryptographic parameter, in this case a watermark, protecting the object, (s)he then possesses the unprotected object at which point the publisher has effectively ceded significant control over consumer access and use of that object to the pirate. Hence, protection that a content publisher would otherwise gain through use of digital rights management, at least with respect to the illicit copies, would be completely lost.
However, given enough resources, particularly processing capacity, money and time, a pirate could break the watermark, thus nullifying protection afforded by digital rights management. If sufficient demand exists in the marketplace for a given objectxe2x80x94which is particularly true for a popular feature length movie, then the pirate may well have adequate economic motivation to incur the investment in time, cost and effort needed to break the watermark. In that regard, the pirate will likely incur the investment if the resulting gains to be had through illicit copying sufficiently outweigh all the associated costs of time, effort and money needed to break the watermark and make and distribute the illicit copies.
BORE attacks, against watermarked objects, are not limited to pirates but can also arise from third-party xe2x80x9chackersxe2x80x9d, i.e., individuals who are often not motivated by monetary gain but do possess sufficient expertise and computing resources to break cryptographic protection and post, on the Internet, a resulting unprotected object for widespread distribution.
Nevertheless, the DRM initiative holds significant promise as a mechanism that will sufficiently restrict illicit copying of Internet accessible software objects and hopefully, by doing so, assure a sufficient financial return to publishers of those objects for their legitimate consumer access and use. Moreover, DRM, if adopted, should facilitate increased use of the Internet as a cost-effective mechanism for distributing software objects to a large universe of consumers.
However, for DRM to be effective against attempted piracy, a serious need exists in the art for an adequate software xe2x80x9clockxe2x80x9d that can be utilized with software objects. The lock must be sufficiently resistant to BORE attacks such that substantial costs would be incurred by any third-party, particularly a pirate, who attempts to break the lockxe2x80x94costs that are sufficiently high as to outweigh any likely financial gain to be had from illicit copying. Moreover, the xe2x80x9clockxe2x80x9d should be sufficiently difficult to detect and sufficiently robust to withstand attack from xe2x80x9chackersxe2x80x9d. Furthermore, the xe2x80x9clockxe2x80x9d should be practical, particularly when used with large software objects, and not require a separate secret for each different recipient.
Our present invention advantageously satisfies this need and overcomes the deficiencies in the art through creation of our inventive xe2x80x9cBORExe2x80x9d resistant object and our inventive use of that object as part of a digital rights management system in a client computer, such as a client personal computer (PC).
In essence and in accordance with our inventive teachings, a BORE resistant object is created by embedding a relatively large number, n, of identical watermarks throughout a single software object, through use of n different secret watermark keys. Each of these watermark keys defines a starting location (e.g., in time, space or frequency) in a protected object (or, in a general sense, a pointer to a location in that object) at which a corresponding watermark appears. Once a user has downloaded the protected object through a client computer, the user then transacts with publisher""s web server to obtain an electronic license, cryptographically signed by the publisher to an xe2x80x9cenforcerxe2x80x9d located in that computer, which specifies access rights, which the publisher accords to this client computer, and the watermark value. The client computer contains an enforcer equipped with only one of the n watermark keys. Whenever the client computer attempts to access a file containing a protected object, the enforcer examines the object using its secret watermark key. If the object contains a watermark appearing at a location specified by the enforcer""s watermark key, a client operating system accesses a license database to determine whether a signed license made to the enforcer and linked, via the publisher""s cryptographic signature, to this protected object resides in that database. A value of a parameter in the license must match a value of the same parameter contained in a watermark detected in the object. In that regard, the license must be signed by the publisher specified in the watermark and made to a product identification (PID) value that appears in the watermark. Thus, the watermark effectively becomes xe2x80x9cgluexe2x80x9d between the protected object and its license. If no such license exists, the enforcer inhibits any further access to the object. Otherwise, the enforcer determines whether the watermark value contained in the license matches that detected in the object, and, if so, permits access to the object in accordance with the rights specified in the license. The object can be either an active (executable) or a passive (content) software object.
In particular, the publisher of a given object not only sets the value of the watermark itselfxe2x80x94typically to a concatenation of a vendor (publisher) identification (VID) value and the PID valuexe2x80x94but also provides that value to a third-party watermarking authority (WA), along with an unwatermarked copy of that object (O). The WA then embeds the watermark n times, each beginning in a starting location determined by a corresponding different one of the secret keys, throughout the object in order to yield the watermarked object (OWM) All n watermark keys are generated by the WA and are identical across all objects that are to be protected, regardless of their corresponding publishers. These keys are generated once and will be universally used for a relatively long, but finite period, for all objects, from whatever publisher or source, that are to be protected.
Once the WA watermarks a particular object (O), it then provides a resulting watermarked version of that object (OWM) back to its publisher. The publisher, in turn, replicates the watermarked object as often as needed, and, if desired, serializes each resulting copy, by embedding a single so-called xe2x80x9cfingerprintxe2x80x9d value in each resulting copy. The fingerprint only occurs once in any copy with its value being unique to that copy. Once a copy has been fingerprinted (to yield object OfWM), the publisher then encrypts the fingerprinted, watermarked copy typically using a symmetric encryption cryptosystem. The publisher then distributes resulting encrypted, fingerprinted and watermarked copies of the object (OfeWM) at no-cost to requesting users, specifically to a client PC operated by each such user.
After a user has downloaded a watermarked object, then, in order to use that object, the user, through his(her) client PC, electronically transacts, through the Internet, with publisher""s web server. In return for payment of a specific licensing fee to the publisher, this web server downloads to the client PC an electronic license (L), cryptographically signed by the publisher to the enforcer located in that PC. The license contains a rights vector, which specifies particular access rights which the publisher accords to this client PC, the product identification value (PID) for the licensed object and a symmetric encryption key.
Each such client PC contains an enforcer as part of a DRM system. From a data perspective, the enforcer is sited within a critical processing path, in the client PC, for the object, and specifically in a path that is difficult to bypass. The location of the enforcer, i.e., within a client O/S or a media card, depends on whether the object is passive or active. The enforcer is equipped with only one of the n secret watermark keys. This particular key will have been previously provided to the enforcer by the watermarking authority.
Whenever the client PC attempts to access a file containing a watermarked (protected) object then residing in that PC, the enforcer in that PC examines the object, using its secret watermark key, to determine whether that object is, in fact, watermarked. If the object is not watermarked, then the enforcer permits the client PC to freely access the object, as desired by the user. Alternatively, if the object contains a watermark starting in relative location given by the enforcer""s watermark key, then the enforcer so notifies the client O/S executing in the client PC. The client O/S accesses a license database to determine whether a signed license made to the enforcer and linked, via the publisher""s cryptographic signature, to this protected object then exists in that database. If no such license is found, the enforcer inhibits any further access to the object, thus precluding any further use of that object by the client O/S or media card, as appropriate. Alternatively, if such a license is found, the enforcer determines whether the VID and PID values supplied in a header associated with the object and contained in the license itself, respectively, match those detected in the watermark contained in the object. If both match, then the enforcer permits access to the object in accordance with the specific usage rights specified in the license.
Advantageously and as a feature of our invention, by watermarking software through our inventive BORE resistant manner, the resulting object becomes substantially more difficult for an adversary to successfully break.
In that regard, by embedding n different watermarks into a single object and not labeling each client PC as to the specific watermark key it contains, the adversary is required to break not just one client PC to obtain its own embedded watermark key but substantially more than n such PCs to obtain all their embedded watermark keys. As such, if an adversary is to obtain a sufficient number of these keys such that it can successfully defeat the BORE resistant protection with a sufficiently high probability of success, i.e., to permit a BORE-resistant object to be used by a sufficiently large number of client PCs regardless of any license restrictions, that adversary will need to break a number of client PCs that exceeds the value of n by at least 1-2 orders of magnitude.
The sheer magnitude of the costs associated with successfully breaking a sufficient number of client PCs to completely frustrate BORE-resistant protection effectively precludes successful broad-based attacks on BORE-resistant DRM systems. Consequently, piratical acts are far more likely to occur on a far more limited basis, such as through gaining unauthorized access to a small number of watermark keys. In that regard, if an adversary were to break the protection afforded by only a single client PC and learn its embedded watermark key, then only 1/n of an installed base of client PCs, that can handle BORE-resistant objects, would be compromised.
Furthermore, as an advantageous feature of our invention, our inventive technique effectively contains these attacks and, over time, through periodic expiration of watermark keys and selective key replacement, significantly diminishes on-going effectiveness of such compromises.
Specifically, should a publisher learn that a particular object was being pirated, then by simply obtaining a copy of the pirated object, the publisher could readily detect the fingerprint in that object. By querying its user database, the publisher could learn the identity of the client PC that the pirate used, in some fashion, to commit piracy. The publisher could then instruct the WA to revoke the watermark (old) key used by the particular client PC. All client PCs sharing that key, with exception of the particular client PC used by the pirate, will get a new watermark key. For a relatively long period of time, old and new watermark keys will co-exist to enable other objects watermarked with the old key to be accessed and used. However, new objects will be watermarked with the new key. In addition, the particular client PC used by the pirate may be xe2x80x9chot-listedxe2x80x9d to limit its rights to access and/or use protected objects.
Watermark keys routinely expire after a given interval of time, as determined by, e.g., the WA, elapses. When such a key expires, an internal key manager process executing in the enforcer requires the client PC to contact the WA to obtain a replacement watermark key.
As a feature of our invention, if a watermark key has been compromised by a third party, our invention reduces, if not, over time, halts, a rapidly expanding security breach of protected objects that would otherwise and conventionally occur when knowledge of their compromised key spreads throughout a large user community. Advantageously, our invention also accommodates existing needs of xe2x80x9cinnocentxe2x80x9d users who continue to access and use those protected objects that require this key. Our invention accomplishes this by phasing out, over time, use of the compromised key and limiting its applicability to only those existing objects that have already been protected with this key.
Specifically, in the event that an existing watermark key is compromised, then that key is not immediately revoked and removed from service. To accommodate such innocent users, a watermark key can be associated with issue and expiration times Ti and Te at which the key has been issued and will expire, respectively. Hence, a watermark key, K, can be issued as a triple (K, Ti, Te) and, to frustrate its tampering or detection, can be stored within a secure key manager in a client PC. Should existing watermark key K be compromised, then a new watermark key, Kxe2x80x2 (typically chosen at random from all n existing watermark keys), with its corresponding issue and expiration times, i.e. (Kxe2x80x2, Tixe2x80x2, Texe2x80x2) will be issued and distributed to all client PCs which have been using the compromised key. As such, each of these client PCs will have two watermark key triples: that for the existing key, K, and that for the new watermark key, Kxe2x80x2. As indicated above, all watermarked objects will be watermarked with all n keys (including keys K and Kxe2x80x2).
A license can also have associated issue and expiration times, ti and te, respectively. For each protected object, the enforcer in the client PC must utilize both watermark keys K and Kxe2x80x2 (or, in general, all the watermark keys it has) in examining a protected object for a watermark. An object is assumed to be unprotected if the enforcer fails to find any watermarks in the object. Should the enforcer detect a watermark using either key K or Kxe2x80x2, then a proper license must exist to access this object. In order for a license to be xe2x80x9cproperxe2x80x9d, not only must a license exist for this object but also the watermark key must expire after the license does and the license must have been issued after the watermark key was, i.e., Te greater than te and ti greater than Ti must both be satisfied. Even if a license exists but either relationship fails, then the license is not xe2x80x9cproperxe2x80x9d; hence, the enforcer denies access to this object. A watermarking authority can preclude client PCs from gaining access to any future protected objects by simply not issuing a new key to that client PC to replace a key that has expired or will expire (the latter being typified by a compromised key).
Through use of this feature, client PCs can continue to utilize their existing watermark keys (e.g. key K) to access previously distributed protected objects. However, over time, these keys will eventually expire and require replacement. We anticipate that although the growth of keys will monotonically increase, the rate of growth will be quite low, with a client PC obtaining a new watermark key triple after the watermark keys on the order of n different client PCs have been compromised.
To properly exploit our present invention, client PCs will be designed such that until any such PC obtains a valid unexpired watermark keyxe2x80x94whether as an initial watermark key for that PC or to replace an expired key, that PC will be unable to process any object that has been protected through our inventive technique. Hence, if a publisher suspects that a particular client PC has been used for illicit purposes, then a watermark authority can simply revoke the existing watermark key for that particular client PC, thus precluding that PC from accessing any existing protected object.